During the manufacturing of relatively complex, software-driven consumer products such as communications units, mobile phones, subscriber devices, or the like, data must be loaded into the product to control operation and provide, for example, an operating software baseline and other data required for operation. Some data may be common to every phone produced by a manufacturer, such as the operating software, while other data, such as mobile service provider network, may be specific to one or a group of phones. Mobile service providers, for example, may require phones programmed with parameters associated with the service provider's particular network and thus groups of phones associated with the mobile service provider will have many of the same programming parameters.
In many mobile phone applications, features are already present in a phone and may be controlled, e.g. enabled and/or disabled, almost exclusively through software based on the services which an individual user or subscriber has paid for. In many service environments such as Global System for Mobile communications (GSM) environments, phone subsidies may be offered to customers by service providers to reduce or eliminate the cost of hardware in exchange for service subscriptions with the service provider offering the subsidy. Data is often stored with such subsidized phones to prevent activation or operation with a non-subsidy service provider.
Phone specific data often contains information that, in addition to being essential for proper operation of the phone in the service environment, may be tampered with or otherwise modified in order to gain free service or gain access to features that would ordinarily be unavailable.
Problems arise however in that loading software, e.g. provisioning a product can become time intensive within a production environment where slightly differing needs among different service providers or customers, network operators, hardware providers or the like must be addressed.